﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;              //References: nunit.framework
using ProyectoGrupo5.Persistencia;
using ProyectoGrupo5.ClasesDominio;

//20/05/2011

namespace ProyectoGrupo5.Pruebas
{
    [TestFixture]
    public class TestCandidatoDAO
    {
        [Test]
        public void TestCrearCandidato()
        {
            Candidato nuevoCandidato = new Candidato();
            Aviso aviso = new Aviso();
            nuevoCandidato.Aviso = aviso;
            Postulante postulante = new Postulante();
            nuevoCandidato.Postulante = postulante;

            nuevoCandidato.CodigoCandidato  = 1;
            nuevoCandidato.Aviso.CodigoAviso      = 1;
            nuevoCandidato.EstadoSeleccion  = "Aprobado";
            nuevoCandidato.Postulante.Correo = "jperez@hotmail.com";
            nuevoCandidato.Postulante.CodigoPostulante = 2;

            CandidatoDAO candidatoDAO = new CandidatoDAO();
            Candidato candidatoCreado = candidatoDAO.CrearCandidato(nuevoCandidato);
            Assert.NotNull(candidatoCreado);
        }
        [Test]
        public void TestObtenerCandidato()
        {
            Int32 codigoCandidato = 1;
            CandidatoDAO candidatoDAO = new CandidatoDAO();
            Candidato candidatoExistente = candidatoDAO.ObtenerCandidato(codigoCandidato);
            Assert.AreEqual(codigoCandidato, candidatoExistente.CodigoCandidato);
            Assert.NotNull(candidatoExistente.EstadoSeleccion);
        }

        [Test]
        public void TestModificarCandidato()
        {
            Candidato antiguoCandidato = new Candidato();
            antiguoCandidato.CodigoCandidato = 1;
            antiguoCandidato.EstadoSeleccion = "No cumple";

            CandidatoDAO candidatoDAO = new CandidatoDAO();
            Candidato candidatoModificado = candidatoDAO.ModificarCandidato(antiguoCandidato);
            Assert.NotNull(candidatoModificado);
        }
        
        [Test]
        public void TestEliminarCandidato()
        {
            Int32 codigoCandidato = 1;
            CandidatoDAO candidatoDAO = new CandidatoDAO();
            candidatoDAO.EliminarCandidato(codigoCandidato);
            //Assert.AreEqual(codigoCandidato, candidatoExistente.Codigo);
            //  Assert.NotNull(tutorExistente.Nombres);
        }
    }

}